/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controleur;

import Modele.Cellule;
import Vue.Case;
import Vue.Fenetre;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

/**
 * Classe permettant la gestion des évenement de la souris dans le jeu de la vie
 * @author FERRIER/NONGLATON
 */
public class cliqueSouris extends MouseAdapter {

    private static boolean click = false;
    private static boolean etat = false;
    private Fenetre fenetreParent;

    /**
     * Créé un nouveau MouseAdapter pour le jeu de la vie
     * @param f la fenetre du jeu de la vie
     */
    public cliqueSouris(Fenetre f) {
        super();
        fenetreParent = f;
    }

    @Override
    public void mousePressed(MouseEvent e) {
        Case ca = (Case) (e.getSource());

        if (e.getButton() == MouseEvent.BUTTON1) {//clique gauche
            click = true;


            etat = !(ca.getEtatCellule());
            ca.setEtatCellule(etat);
        }
        if (e.getButton() == MouseEvent.BUTTON3 && !click) {//clique droit
            Cellule cel = ca.getUneCellule();
            cel.getEnv().newVaisseau(cel.getCoordonnees().x, cel.getCoordonnees().y);
        }
        fenetreParent.setEtatSauvegarde(false);

    }

    @Override
    public void mouseEntered(MouseEvent e) {
        if (click) {
            Case ca = (Case) (e.getSource());
            ca.setEtatCellule(etat);
        }
    }

    @Override
    public void mouseReleased(MouseEvent e) {

        if (e.getButton() == MouseEvent.BUTTON1) {//clique gauche relaché
            click = false;
        }

    }
}
